﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class admincp_qlmonhoc : System.Web.UI.Page
{
    QuanLyHocSinhDatabaseDataContext db = new QuanLyHocSinhDatabaseDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Page_PreRender(object sender, EventArgs e)
    {
        try
        {

            switch (Request.QueryString["hanhdong"].ToString())
            {
                case "themmoi":
                    lblLoaiHanhdong.Text = "Thêm mới môn học:";
                    break;
                case "capnhat":
                    lblLoaiHanhdong.Text = "Cập nhật môn học";

                    //Kiểm tra xem query string mamonhoc có tồn tại và giá trị có tồn tại trong CSDL
                    if (Request.QueryString["mamonhoc"] != null && KiemTraTonTaiMaMonHoc(Request.QueryString["mamonhoc"].ToString()))
                    {
                        //Tạo Seesion["MaMonHoc"] chứa mã môn học dùng kiểm tra mã môn học với mã môn học trong Query String khi tiến hành lưu
                        Session["MaMonHoc"] = Request.QueryString["mamonhoc"].ToString();
                        MonHoc monhoc = db.MonHocs.Single(mh => mh.MaMonHoc == Session["MaMonHoc"].ToString());
                        txtMaMonHoc.Text = monhoc.MaMonHoc;
                        txtMaMonHoc.ReadOnly = true;
                        txtMaMonHoc.Enabled = false;
                        txtTenMonHoc.Text = monhoc.TenMonHoc;
                        txtSoTiet.Text = monhoc.SoTiet.ToString();
                        txtHeSo.Text = monhoc.HeSo.ToString();
                        radSuDung.Checked = monhoc.TrangThai != null ? (bool)monhoc.TrangThai : false;
                        radKhongSuDung.Checked = monhoc.TrangThai != null ? !(bool)monhoc.TrangThai : true;
                    }
                    else //Chuyển trang sang trang báo lỗi
                    {
                    }
                    break;
            }
        }
        catch
        {
            //Chuyển trang sang trang báo lỗi
        }
    }

    private bool KiemTraTonTaiMaMonHoc(string MaMonHoc)
    {
        try
        {
            //Nếu tìm không thấy thì phát sinh lỗi --> chuyển sang khối lệnh catch
            MonHoc monhoc = db.MonHocs.Single(mh => mh.MaMonHoc == MaMonHoc);
            return true;
        }
        catch
        {
            return false;
        }
    }

    protected void QuyLaiTrangTruoc(object sender, EventArgs e) //Phương thức chuyển trang sang trang monhoc.aspx
    {
        Response.Redirect("monhoc.aspx");
    }

    protected void LuuMonHoc(object sender, EventArgs e) //Phương thức lưu môn học vào CSDL
    {
        try
        {
            MonHoc monhoc = new MonHoc();
            switch (Request.QueryString["hanhdong"].ToString())
            {
                case "themmoi":
                    
                    monhoc.MaMonHoc = txtMaMonHoc.Text;
                    monhoc.TenMonHoc = txtTenMonHoc.Text;
                    if(!String.IsNullOrEmpty(txtSoTiet.Text))
                        monhoc.SoTiet = Byte.Parse(txtSoTiet.Text);
                    if(!String.IsNullOrEmpty(txtHeSo.Text))
                        monhoc.HeSo = Byte.Parse(txtHeSo.Text);
                    monhoc.TrangThai = radSuDung.Checked;
                    db.MonHocs.InsertOnSubmit(monhoc);
                    db.SubmitChanges();
                    Response.Redirect("monhoc.aspx");
                    break;
                case "capnhat":
                    if (Session["MaMonHoc"].ToString() == Request.QueryString["mamonhoc"].ToString())
                    {
                        monhoc = db.MonHocs.Single(mh => mh.MaMonHoc == Session["MaMonHoc"].ToString());
                        monhoc.TenMonHoc = txtTenMonHoc.Text;
                        monhoc.SoTiet = Byte.Parse(txtSoTiet.Text);
                        monhoc.HeSo = Byte.Parse(txtHeSo.Text);
                        monhoc.TrangThai = radSuDung.Checked;
                        db.SubmitChanges();
                        if (Session["MaMonHoc"] != null)
                            Session.Remove("MaMonHoc");
                        Response.Redirect("monhoc.aspx");
                    }
                    else //Chuyển trang sang trang báo lỗi
                    {
                    }
                    break;
                default: //Chuyển trang sang trang báo lỗi
                    break;
            }
            
        }
        catch
        {

        }
    }
}